import requests
import pandas as pd
from io import StringIO

# 定义API接口模板
api_template = "https://restapi.amap.com/v3/place/around?key=2074e3830cf12c789ed409e1517eed6d&location={longitude},{latitude}&radius=10000&keywords=%E5%BF%AB%E9%80%92%E7%BD%91%E7%82%B9&offset={offset}&page={page}"

# 定义地点坐标
locations = [
    ("114.277158", "30.592578"),
    ("114.273801", "30.59283"),
    ("114.273599", "30.596733")
]

# 定义页数
pages = [1, 2, 3]

# 初始化存储所有数据的列表
all_data = []

# 遍历每个接口的指定页数
for longitude, latitude in locations:
    for page in pages:
        offset = (page - 1) * 50  # 每次偏移50条数据
        api_url = api_template.format(longitude=longitude, latitude=latitude, offset=offset, page=page)
        response = requests.get(api_url)
        if response.status_code == 200:
            data = response.json()
            pois = data.get('pois', [])
            all_data.extend(pois)

# 去重处理，假设我们根据'id'字段去重
unique_data = {poi['id']: poi for poi in all_data}.values()

# 将去重后的数据转换为DataFrame
df = pd.DataFrame(unique_data)

# 打印表格
print(df)

# 导出表格到CSV文件
df.to_csv('output.csv', index=False, encoding='utf-8-sig')

# 如果需要导出为Excel，可以使用以下命令（需要安装openpyxl库）
# df.to_excel('output.xlsx', index=False, engine='openpyxl')
